#include <iostream>
#include <cstring>
using namespace std;

int f[26];
int din[26],dout[26];
int st[26];
int t,n;
int find(int x)
{
	if(x!=f[x])
		f[x]=find(f[x]);
	return f[x];
}
int main()
{
	cin>>t;
	while(t--)
	{
		for(int i=0;i<26;i++)
			f[i]=i;
		memset(st,0,sizeof(st));
		memset(din,0,sizeof(din));
		memset(dout,0,sizeof(dout));
		cin>>n;
		for(int i=0;i<n;i++)
		{
			string str;
			cin>>str;
			
			int a=str[0]-'a',b=str[str.size()-1]-'a';
			st[a]=st[b]=1;
			f[find(a)]=find(b);
			din[a]++,dout[b]++;
		}
		
		bool flg=true;
		int p=-1;
		for(int i=0;i<26;i++)
		{
			if(st[i])
			{
				if(p==-1)
				{
				    // cout<<find(i)<<endl;
					p=find(i);
				}		
				else if(p!=find(i)){
				//     cout<<i<<endl;
				// 	cout<<p<<' '<<find(i)<<endl;
				    // cout<<1<<endl;
				    flg=false;
					break;
				}
			}
		}
		int start=0,aim=0;
		for(int i=0;i<26;i++)
		{
			if(din[i]!=dout[i])
			{
				if(din[i]+1==dout[i])
				{
					start++;
				}
				else if(din[i]==dout[i]+1)
				{
					aim++;
				}
				else{
				    // cout<<2<<endl;
					flg=false;
					break;
				}
			}
		}
// 		cout<<start<<' '<<aim<<endl;
		if(!((start==0 && aim==0)||(start==1 && aim==1)))
    	{
    	   // cout<<3<<endl;
    	    flg=false;
    	}
		if(flg)
		{
			cout<<"Ordering is possible."<<endl;
		}
		else{
			cout<<"The door cannot be opened."<<endl;
		}
	}
	return 0;
}
